//
//  PthreadController.m
//  GCD
//
//  Created by 宜必鑫科技 on 2017/11/6.
//  Copyright © 2017年 宜必鑫科技. All rights reserved.
//
// iOS 堆栈
/*
  栈区（stack）：有系统自动分配管理  是连续的  先进后出 不会产生内存碎片
  堆区（heap）：由程序猿管理 比如OC的对象类型  是不连续的 链表结构 容易产生内存碎片
 
 链表：存储数据 2.存储下一个节点的指针
 
  全局区：存放全局变量和静态变量
  文字常量区： 存放常量字符串，程序结束后由系统释放
  程序代码区：存放函数的二进制代码
 
 */

#import "PthreadController.h"
#import <pthread.h>

@interface PthreadController ()

@end

@implementation PthreadController

- (void)viewDidLoad {
    [super viewDidLoad];
    [self.view setBackgroundColor:[UIColor whiteColor]];
    /*
     第一个参数:线程对象
     第二个参数:线程属性
     第三个参数:void *(*)(void *) 指向函数的指针
     第四个参数:函数的参数(可有可无，可以传递NULL)
     */
    pthread_t thread;
    NSString *name = @"hf";
    pthread_create(&thread, NULL, start, (__bridge void *)(name));
}

void *start(void *data) {
    NSLog(@"%@", [NSThread currentThread]);
    
    return NULL;
}



- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event
{
    [super touchesBegan:touches withEvent:event];
    [self dismissViewControllerAnimated:YES completion:nil];
}

@end
